package com.pap.rbac.resource.auto.entity;

import java.io.Serializable;

import com.pap.base.entity.PapBaseEntity;
import com.pap.base.mybatis.plugin.annotation.MyBatisColumnAnnotation;
import com.pap.base.mybatis.plugin.annotation.MyBatisTableAnnotation;

@MyBatisTableAnnotation(name = "t_rbac_resource", namespace = "com.pap.rbac.resource.auto.mapper.ResourceMapper", remarks = " 修改点 ", aliasName = "t_rbac_resource t_rbac_resource")
public class Resource extends PapBaseEntity implements Serializable {
	/**
	 * 编码,所属表字段为t_rbac_resource.CODE
	 */
	@MyBatisColumnAnnotation(name = "CODE", value = "t_rbac_resource_CODE", chineseNote = "编码", tableAlias = "t_rbac_resource")
	private String code;

	/**
	 * 名称,所属表字段为t_rbac_resource.NAME
	 */
	@MyBatisColumnAnnotation(name = "NAME", value = "t_rbac_resource_NAME", chineseNote = "名称", tableAlias = "t_rbac_resource")
	private String name;

	/**
	 * 资源类型 菜单 按钮,所属表字段为t_rbac_resource.TYPE_FLAG
	 */
	@MyBatisColumnAnnotation(name = "TYPE_FLAG", value = "t_rbac_resource_TYPE_FLAG", chineseNote = "资源类型 菜单 按钮", tableAlias = "t_rbac_resource")
	private String typeFlag;

	/**
	 * 链接,所属表字段为t_rbac_resource.HREF
	 */
	@MyBatisColumnAnnotation(name = "HREF", value = "t_rbac_resource_HREF", chineseNote = "链接", tableAlias = "t_rbac_resource")
	private String href;

	/**
	 * 资源文件路径,所属表字段为t_rbac_resource.COMPONENT
	 */
	@MyBatisColumnAnnotation(name = "COMPONENT", value = "t_rbac_resource_COMPONENT", chineseNote = "资源文件路径", tableAlias = "t_rbac_resource")
	private String component;

	/**
	 * 排序号,所属表字段为t_rbac_resource.ORDER_NO
	 */
	@MyBatisColumnAnnotation(name = "ORDER_NO", value = "t_rbac_resource_ORDER_NO", chineseNote = "排序号", tableAlias = "t_rbac_resource")
	private String orderNo;

	/**
	 * 图标,所属表字段为t_rbac_resource.ICON
	 */
	@MyBatisColumnAnnotation(name = "ICON", value = "t_rbac_resource_ICON", chineseNote = "图标", tableAlias = "t_rbac_resource")
	private String icon;

	/**
	 * 隐藏状态标识,所属表字段为t_rbac_resource.HIDE_FLAG
	 */
	@MyBatisColumnAnnotation(name = "HIDE_FLAG", value = "t_rbac_resource_HIDE_FLAG", chineseNote = "隐藏状态标识", tableAlias = "t_rbac_resource")
	private String hideFlag;

	/**
	 * 备注,所属表字段为t_rbac_resource.REMARK
	 */
	@MyBatisColumnAnnotation(name = "REMARK", value = "t_rbac_resource_REMARK", chineseNote = "备注", tableAlias = "t_rbac_resource")
	private String remark;

	/**
	 * 父亲编号,所属表字段为t_rbac_resource.PARENT_ID
	 */
	@MyBatisColumnAnnotation(name = "PARENT_ID", value = "t_rbac_resource_PARENT_ID", chineseNote = "父亲编号", tableAlias = "t_rbac_resource")
	private String parentId;

	/**
	 * 层级,所属表字段为t_rbac_resource.LEVEL
	 */
	@MyBatisColumnAnnotation(name = "LEVEL", value = "t_rbac_resource_LEVEL", chineseNote = "层级", tableAlias = "t_rbac_resource")
	private String level;

	/**
	 * 状态(Y启用;N停用),所属表字段为t_rbac_resource.STATUS
	 */
	@MyBatisColumnAnnotation(name = "STATUS", value = "t_rbac_resource_STATUS", chineseNote = "状态(Y启用;N停用)", tableAlias = "t_rbac_resource")
	private String status;

	/**
	 * 内部系统标识,所属表字段为t_rbac_resource.INNER_FLAG
	 */
	@MyBatisColumnAnnotation(name = "INNER_FLAG", value = "t_rbac_resource_INNER_FLAG", chineseNote = "内部系统标识", tableAlias = "t_rbac_resource")
	private String innerFlag;

	/**
	 * 编号路径集合,所属表字段为t_rbac_resource.PATH_IDS
	 */
	@MyBatisColumnAnnotation(name = "PATH_IDS", value = "t_rbac_resource_PATH_IDS", chineseNote = "编号路径集合", tableAlias = "t_rbac_resource")
	private String pathIds;

	/**
	 * 编码路径集合,所属表字段为t_rbac_resource.PATH_CODES
	 */
	@MyBatisColumnAnnotation(name = "PATH_CODES", value = "t_rbac_resource_PATH_CODES", chineseNote = "编码路径集合", tableAlias = "t_rbac_resource")
	private String pathCodes;

	/**
	 * 名称路径集合,所属表字段为t_rbac_resource.PATH_NAMES
	 */
	@MyBatisColumnAnnotation(name = "PATH_NAMES", value = "t_rbac_resource_PATH_NAMES", chineseNote = "名称路径集合", tableAlias = "t_rbac_resource")
	private String pathNames;

	private static final long serialVersionUID = 1L;

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getTypeFlag() {
		return typeFlag;
	}

	public void setTypeFlag(String typeFlag) {
		this.typeFlag = typeFlag;
	}

	public String getHref() {
		return href;
	}

	public void setHref(String href) {
		this.href = href;
	}

	public String getComponent() {
		return component;
	}

	public void setComponent(String component) {
		this.component = component;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public String getHideFlag() {
		return hideFlag;
	}

	public void setHideFlag(String hideFlag) {
		this.hideFlag = hideFlag;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getParentId() {
		return parentId;
	}

	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	public String getLevel() {
		return level;
	}

	public void setLevel(String level) {
		this.level = level;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getInnerFlag() {
		return innerFlag;
	}

	public void setInnerFlag(String innerFlag) {
		this.innerFlag = innerFlag;
	}

	public String getPathIds() {
		return pathIds;
	}

	public void setPathIds(String pathIds) {
		this.pathIds = pathIds;
	}

	public String getPathCodes() {
		return pathCodes;
	}

	public void setPathCodes(String pathCodes) {
		this.pathCodes = pathCodes;
	}

	public String getPathNames() {
		return pathNames;
	}

	public void setPathNames(String pathNames) {
		this.pathNames = pathNames;
	}

	@Override
	public String getDynamicTableName() {
		return "t_rbac_resource";
	}

	@Override
	public int hashCode() {// 重写hashCode方法
		return super.getId().hashCode();
	}

	@Override
	public boolean equals(Object obj) {// 重写equals方法
		if (this == obj) {
			return true;
		}
		if (null != obj && obj instanceof Resource) {
			Resource p = (Resource) obj;
			if (super.getId().equals(p.getId())) {
				return true;
			}
		}
		return false;

	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getClass().getSimpleName());
		sb.append(" [");
		sb.append("Hash = ").append(hashCode());
		sb.append(", code=").append(code);
		sb.append(", name=").append(name);
		sb.append(", typeFlag=").append(typeFlag);
		sb.append(", href=").append(href);
		sb.append(", component=").append(component);
		sb.append(", orderNo=").append(orderNo);
		sb.append(", icon=").append(icon);
		sb.append(", hideFlag=").append(hideFlag);
		sb.append(", remark=").append(remark);
		sb.append(", parentId=").append(parentId);
		sb.append(", level=").append(level);
		sb.append(", status=").append(status);
		sb.append(", innerFlag=").append(innerFlag);
		sb.append(", pathIds=").append(pathIds);
		sb.append(", pathCodes=").append(pathCodes);
		sb.append(", pathNames=").append(pathNames);
		sb.append("]");
		return sb.toString();
	}
}